package com.cdatos.golGana.dao.impl;

import javax.persistence.NoResultException;
import javax.persistence.Query;

import com.cdatos.golGana.dao.UsuarioDAO;
import com.cdatos.golGana.dao.base.AbstractJPADAO;
import com.cdatos.golGana.excepcion.LoginException;
import com.cdatos.golGana.model.Usuario;

public class UsuarioDAOImpl extends AbstractJPADAO<Usuario> implements UsuarioDAO{

	/**
	 */
	private static final long serialVersionUID = 1L;

	@Override
	protected Class<Usuario> getPersistedClass() {
		return Usuario.class;
	}

	public Usuario login(String nick, String contrasenia) throws LoginException{
		try{
			String sql = "from Usuario where nick = :nick and contrasenia = :contrasenia";
			Query query = getEm().createQuery(sql);
			query.setParameter("nick", nick);
			query.setParameter("contrasenia", contrasenia);
			return (Usuario) query.getSingleResult();
		}catch(NoResultException e){
			throw new LoginException();
		}
	}

}
